PROGRESS Version 8 Application Development Environment

Market Overview

Business, government and other organizations have recognized the pivotal new role software applications play in their organizations. Today, applications are relied on to help reduce costs, streamline operations, improve customer service and provide a strategic competitive advantage. Information Service (IS) departments are under tremendous pressure to quickly develop these critical applications. But how can IS meet business needs while their budgets and staffs continue to be slashed?

The answer lies in choosing a client/server application development environment that enables the rapid creation of robust mission-critical applications that meet both today's and tomorrow's business needs. But how can IS choose the right environment for the job?

There are a number of factors involved in selecting a client/server application development environment. Key in the selection factor is taking a close look at the requirements of an application and choosing an environment robust enough to handle those requirements, and that fits into the current systems infrastructure. Users must also decide whether a packaged application will meet their business needs, or whether their business requirements warrant building an application from scratch. Finally, how can an organization maximize the skill set of its existing staff to take advantage of emerging technologies that provide real business benefits?

An application development environment that harnesses advanced technologies while shielding users from the underlying complexity is the first step.

The Client/Server Iceberg: An Aid to Choosing the Right Tool

The client/server market has exploded as organizations rush to take advantage of the flexibility and power of distributed computing. A host of new client/server application development tools companies has emerged to meet this growing market need. On paper, the messages of most of these tools vendors seem identical. All promise their tools meet mission-critical business needs from the workgroup up to the enterprise level. Identifying the unique differentials of these tools has proved to be a challenge.

Progress Software utilizes an iceberg model as a conceptual way to explain the difference between workgroup- and enterprise-level tools. Users must take a close look at their application requirements -- including the user interface, application logic and data management -- before choosing their application development tool. Most applications and development tools look similar at the graphical user interface level; it is only when you delve deeper into the requirements of the application, or look below the waterline, that the choice between a low- and high-end tool becomes more apparent.

Unlike low-end applications, which tend to be simple, GUI-oriented data management applications with few users, high-end applications support large numbers of users in a transaction processing environment, and offer heterogeneous user interface capability, including a mix of GUI and character, a key requirement for the majority of organizations still migrating to client/server computing. On the database side, these high-end applications often must perform distributed transactions across heterogeneous databases. Application logic increases in complexity with high-end applications to completely reengineer the business processes of a company.

In making their selection, developers should look for a tool that combines the ease of use of a low-end tool with the power and robustness of a high-end tool. This tool should enable developers to easily and quickly build even the most complex enterprise-level application with sophisticated logic and data requirements.

Harnessing the Benefits of Object Orientation

Object Orientation (OO) is an advanced technology that provides compelling benefits to application developers. Its principal benefit is improved developer productivity through code reusability and application maintainability. Sounds good. So why hasn't OO programming delivered on its promise?

The steep learning curve of traditional OO programming languages, such as C++ or SmallTalk, has made the purist approach to OO impractical for all but the most technically-sophisticated developers. Since most organizations lack the resources to completely retrain their developers in OO languages, they are forced to forfeit the benefits of OO. Plus, even for those organizations with C++ programmers on staff, programming in low-level OO languages puts a tremendous strain on developer productivity and often results in unwieldy applications that are destined to become the "spaghetti code" of the late 1990s. The discipline required of developers to create truly-reusable code is also difficult to acquire and maintain.

Traditional OO programming makes the fabrication of objects painfully slow. This in turn greatly extends the time required to build a library of components from which analyst programmers can assemble applications. Even once libraries are fabricated, the complexity of traditional low-level OO languages makes it difficult for assemblers to identify the functionality of those objects and link them into applications.

What is needed is an approach that makes OO simple to use and accessible to the majority of organizations, and enables them to harness the power of OO to reap its business benefits.

Buy, Build, Both: A New Model for Application Delivery

Many organizations prefer to build their applications in-house because they seek a tailored solution that meets the particular needs of their organization. But building applications in-house means supporting a staff of developers and ensuring their productivity. And even with a top-notch in-house staff, organizations face multiple risks: that the application projects may fail; that the resulting application may not delivered soon enough to make a difference; or that the application may not meet business needs. And keeping up with the demand for new applications and modifying existing applications to meet changing business needs often result in a two- to three-year application lead time.

To deliver applications faster, many organizations turn to packaged applications. They also want to be able to customize those applications to provide the same competitive edge provided by custom-developed solutions. Applications developed in high-level languages lend themselves best to customization.

In a new component-based development paradigm, internal or external IS experts will select and integrate best-of-breed application components from the broad offerings in the global marketplace, and combine and customize those components to create a tailored application. And those specialty application components that meet unique business requirements will continue to be built internally by IS staff to ensure they meet user needs. This new component-based development model will deliver the cost, risk-avoidance and time benefits of packaged applications with the tailored fit of custom development.

The Progress Software Strategy

Progress Software Corporation's strategy is to harness Object Orientation in the form of component-based development and deployment to enable customers to enjoy real business benefits. The PROGRESS® Version 8.0 family of products is the next deliverable of the company's long-term technology vision. PROGRESS Version 8 is an enterprise-class, database-independent Application Development Environment (ADE) that enables developers to quickly deliver sophisticated applications through PROGRESS SmartObjects(TM) .

PROGRESS Version 8 offers a fast track into the arena of component-based development. To enable all organizations to enjoy the reusability benefits of OO, Progress Software has created PROGRESS SmartObjects as part of its Application Component Environment (ACE). PROGRESS SmartObjects are a collection of robust business objects that work together and can be assembled to create a fully functional application without writing any code. With PROGRESS SmartObjects, developers can quickly and easily create reusable code in a visual programming and 4GL environment -- without low-level OO 3GL coding. Because PROGRESS SmartObjects are an extension of the easy-to-learn and master PROGRESS 4GL, users can quickly become productive in developing custom SmartObjects. Once created, PROGRESS SmartObjects either provided by Progress Software or developed in-house can be assembled into applications by just pointing and clicking. In short, developers gain the promised productivity benefits of object oriented programming within an environment that is easy to learn and master.

The PROGRESS ACE delivers an underlying framework for rapid assembly of PROGRESS SmartObjects. The ACE framework includes the PROGRESS Advisor and the PROGRESS Wizard that guide developers through visual assembly of SmartObjects within the PROGRESS User Interface Builder while simultaneously generating the message links between objects and the transaction processing and data management code that complete the application.

By putting PROGRESS SmartObject and ACE technology into the hands of its thousands of Application Partners (VARs), Progress Software foresees an emerging worldwide commercial market of vertical and horizontal customized SmartObjects. This will enable IS organizations to replace monolithic application suites with custom-developed applications comprised of best-of-breed application components.

For the past 12 years, Progress Software has focused on meeting the challenges of developing and deploying mission-critical applications. Progress Software understands the needs of todays application developers. By applying this knowledge and experience to the high-end client/server tools market, Progress Software will continue to deliver software and service that maximize the productivity of professional application developers and enable them to effectively deliver applications that provide their organizations with competitive business advantages.


Progress Software Home Page | Crescent Division Home Page | Progress What's New

Thank you for visiting Progress Software Corporation on Catalyst CDware. For more information or if you have comments, contact webmaster@progress.com. All material is Copyright © 1995 Progress Software Corporation, 14 Oak Park, Bedford, Massachusetts 01730, U.S.A. All rights reserved.